package com.yxinsur.imc.business.form;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * 保单人员对象 imc_order_person
 *
 * @author imc
 * @date 2021-03-18
 */
@Data
public class OrderPersonEndorseForm {
    private static final long serialVersionUID = 1L;
    /**
     * 保单人员主键
     */
    private Long id;

    /**
     * 姓名/法人/负责人
     */
    @NotBlank(message = "投保/被保/受益人姓名[fullName]不能为空")
    @ApiModelProperty("姓名/法人/负责人")
    private String fullName;

    /**
     * 性别
     */
    @ApiModelProperty("性别")
    private String gender;

    /**
     * 职业名称
     */
    @ApiModelProperty("职业名称")
    private String occName;

    /**
     * 证件类型
     */
    @ApiModelProperty("证件类型")
    @NotBlank(message = "投保/被保/受益人证件类型[certiType]不能为空")
    private String certiType;

    /**
     * 证件号
     */
    @NotBlank(message = "投保/被保/受益人证件号[certiCode]不能为空")
    @ApiModelProperty("证件号")
    private String certiCode;

    /**
     * 生日
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("生日")
    private Date birthday;

    /**
     * 证件止期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("证件止期")
    private Date certiExpiryDate;

    /**
     * 联系电话
     */
    @NotBlank(message = "投保/被保/受益人联系电话[mobile]不能为空")
    @ApiModelProperty("联系电话")
    private String mobile;

    /**
     * 住宅电话
     */
    @ApiModelProperty("住宅电话")
    private String houseTel;

    /**
     * 省
     */
    @ApiModelProperty("省")
    private String province;

    /**
     * 市
     */
    @ApiModelProperty("市")
    private String city;

    /**
     * 区
     */
    @ApiModelProperty("区")
    private String county;

    /**
     * 家庭住址
     */
    @ApiModelProperty("家庭住址")
    private String homeAddr;

    /**
     * 婚姻状况
     */
    @ApiModelProperty("婚姻状况")
    private String maritalStatus;

    /**
     * 邮政编码
     */
    @ApiModelProperty("邮政编码")
    private String postalcode;

    /**
     * 通讯地址
     */
    @ApiModelProperty("通讯地址")
    private String mailAddr;

    /**
     * 邮箱
     */
    @ApiModelProperty("邮箱")
    private String email;

    /**
     * 收入(元)
     */
    @ApiModelProperty("收入(元)")
    private Long income;

    /**
     * 身高
     */
    @ApiModelProperty("身高")
    private String height;

    /**
     * 体重
     */
    @ApiModelProperty("体重")
    private String weight;

    /**
     * 工作单位
     */
    @ApiModelProperty("工作单位")
    private String workUnit;

    /**
     * 工作单位地址
     */
    @ApiModelProperty("工作单位地址")
    private String unitAddr;

    /**
     * 营业执照号
     */
    @ApiModelProperty("营业执照号")
    private String bizLicense;

    /**
     * 是否法定受益人
     */
    @ApiModelProperty("是否法定受益人")
    private String isLegalBeneficiary;

    /**
     * 受益顺序
     */
    @ApiModelProperty("受益顺序")
    private String benefitOrder;

    /**
     * 收益比例
     */
    @ApiModelProperty("收益比例")
    private String benefitRate;

    /**
     * 是否同投保人
     */
    @ApiModelProperty("是否同投保人")
    private String isSameApplicant;

    /**
     * 与投保人关系
     */
    @ApiModelProperty("与投保人关系")
    private String relationWithApplicant;

    /**
     * 与被保险人关系
     */
    @ApiModelProperty("与被保险人关系")
    private String relationWithInsurant;

    /**
     * 开户行名称
     */
    @ApiModelProperty("开户行名称")
    private String bankName;

    /**
     * 银行账户
     */
    @ApiModelProperty("银行账户")
    private String account;

    /**
     * 续期缴费银行名称
     */
    @ApiModelProperty("续期缴费银行名称")
    private String renewalBankName;

    /**
     * 续期银行账号
     */
    @ApiModelProperty("续期银行账号")
    private String renewalAccount;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 默认投/被保险人，用于区分多投被保险人
     */
    @ApiModelProperty("默认投/被保险人，用于区分多投被保险人")
    private String isDefalut;
}
